﻿using System;
using System.Collections.Generic;
using System.Text;

namespace System {
	sealed class PackageEvent {
		#region Fields
		public readonly String Name;
		public readonly RoutingMethod Method;

		public readonly Type HandlerType;
		public readonly Type OwnerType;
		#endregion
		#region Constructor
		private PackageEvent() {

		}
		private PackageEvent(String name, RoutingMethod method, Type handlerType, Type ownerType) {
			this.Name = name;
			this.Method = method;
			this.HandlerType = handlerType;
			this.OwnerType = ownerType;
		}
		#endregion
		#region Public
		public static PackageEvent Register(String name, RoutingMethod method, Type handlerType, Type ownerType) {
			throw new Exception();
		}
		#endregion

	}
	[Flags()]
	enum RoutingMethod : byte {
		Direct = 1,
		Tunnel = 2,
		Bubble = 3,
	}
}
